﻿namespace 示例中体现的ModelBus核心思想.Models.Domain
{
    /// <summary>
    /// 领域模型：代表业务核心概念（商品）
    /// 不依赖数据存储细节，仅包含业务属性和行为
    /// </summary>
    public class Product
    {
        // 领域模型唯一标识
        public Guid Id { get; set; }

        // 商品名称（业务核心属性）
        public string Name { get; set; }

        // 商品价格（业务核心属性）
        public decimal Price { get; set; }

        // 商品状态（业务状态枚举）
        public ProductStatus Status { get; set; }

        // 领域行为：检查商品是否可售
        public bool IsAvailable()
        {
            return Status == ProductStatus.Active && Price > 0;
        }
    }

    // 领域模型中的状态枚举（业务规则定义）
    public enum ProductStatus
    {
        Draft,    // 草稿
        Active,   // 在售
        Disabled  // 下架
    }
}
